package com.settlement.system.model.vo;

import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;

/**
 * <p>
 * 天猫平台订单导入VO
 * </p>
 *
 * @author huangrensen
 * @since 2024-05-05
 */
@Schema
@Data
public class SysTmOrderImportVo implements Serializable {
    @ExcelProperty(value = "子订单编号")
    private String sourcePreformSubNo;
    @ExcelProperty(value = "主订单编号")
    private String sourcePreformMainNo;
    @ExcelProperty(value = "标题")
    private String title;
    @ExcelProperty(value = "价格")
    private String price;
    @ExcelProperty(value = "购买数量")
    private String qty;
    @ExcelProperty(value = "外部系统编号")
    private String systemNo;
    @ExcelProperty(value = "商品属性")
    private String productInfo;
    @ExcelProperty(value = "套餐信息")
    private String pack;
    @ExcelProperty(value = "联系方式备注")
    private String remark;
    @ExcelProperty(value = "订单状态")
    private String status;
    @ExcelProperty(value = "商家编码")
    private String sellerCode;
    @ExcelProperty(value = "支付单号")
    private String payNo;
    @ExcelProperty(value = "买家应付货款")
    private String totalAmount;
    @ExcelProperty(value = "买家实际支付金额")
    private String actTotalAmount;
    @ExcelProperty(value = "退款状态")
    private String returnStatus;
    @ExcelProperty(value = "退款金额")
    private String returnAmount;
    @ExcelProperty(value = "订单创建时间")
    private String orderCreateTime;
    @ExcelProperty(value = "订单付款时间")
    private String orderPayTime;
    @ExcelProperty(value = "商品id")
    private String productId;
    @ExcelProperty(value = "分阶段订单信息")
    private String partInfo;
    @ExcelProperty(value = "备注标签")
    private String remarkTag;
    @ExcelProperty(value = "商家备注")
    private String sellerRemark;
    @ExcelProperty(value = "主订单买家留言")
    private String buyerRemark;
    @ExcelProperty(value = "发货时间")
    private String sendTime;
    @ExcelProperty(value = "物流单号")
    private String transportNo;
    @ExcelProperty(value = "物流公司")
    private String transportCompany;
    @ExcelProperty(value = "是否赔付")
    private String indemnity;
    @ExcelProperty(value = "赔付金额")
    private String indemnityAmount;
    @ExcelProperty(value = "赔付出账时间")
    private String indemnityBillTime;

    private String billMonth;

    public static Map<String, String> getKeyMap() {
        Map<String, String> map = new HashMap<>();
        map.put("子订单编号", "sourcePreformSubNo");
        map.put("主订单编号", "sourcePreformMainNo");
        map.put("标题", "title");
        map.put("价格", "price");
        map.put("购买数量", "qty");
        map.put("外部系统编号", "systemNo");
        map.put("商品属性", "productInfo");
        map.put("套餐信息", "pack");
        map.put("联系方式备注", "remark");
        map.put("订单状态", "status");
        map.put("商家编码", "sellerCode");
        map.put("支付单号", "payNo");
        map.put("买家应付货款", "totalAmount");
        map.put("买家实际支付金额", "actTotalAmount");
        map.put("退款状态", "returnStatus");
        map.put("退款金额", "returnAmount");
        map.put("订单创建时间", "orderCreateTime");
        map.put("订单付款时间", "orderPayTime");
        map.put("商品id", "productId");
        map.put("分阶段订单信息", "partInfo");
        map.put("备注标签", "remarkTag");
        map.put("商家备注", "sellerRemark");
        map.put("主订单买家留言", "buyerRemark");
        map.put("发货时间", "sendTime");
        map.put("物流单号", "transportNo");
        map.put("物流公司", "transportCompany");
        map.put("是否赔付", "indemnity");
        map.put("赔付金额", "indemnityAmount");
        map.put("赔付出账时间", "indemnityBillTime");
        return map;
    }
}
